//四数相加 力扣454
//哈希表 
//把问题转换为在一个集合中查找某个元素是否存在
//转化方法：转化为查找某个元素的相反数
class Solution {
public:
	int fourSumCount(vector<int>& nums1, vector<int>& nums2, vector<int>& nums3, vector<int>& nums4) {
		unordered_map<int,int> umap;
		int n = nums1.size();
		for(auto a : nums1)
		{
			for(auto b : nums2)
			{
				umap[a+b]++;
			}
		}
		int count = 0;
		for(auto c : nums3)
		{
			for(auto d : nums4)
			{
				int tmp = 0-(c+d);
				if(umap.find(tmp) != umap.end())
					count += umap[tmp];
			}
		}
		return count;
	}
};
